// 导航守卫

import router from './router'
import store from './store'

// 白名单,用来判断页面是否需要判断有没有token
let whileList = ['/login', '/404']

// 导航守卫
router.beforeEach(async (to, from, next) => {
  // 判断有没有token
  if (store.getters.token) {
    // 判断是不是在登录页
    if (to.path == '/login') {
      //再登录页就跳转到首页
      next('/')
    } else {
      //判断有没有用户id，有就不再获取，
      if (!store.getters.userId) {
        // 获取用户信息
        await store.dispatch('user/getUserInfo')
      }
     //放行
      next()
    }
  } else {
    //  判断跳转页面是否在白名单里
    if (whileList.includes(to.path)) {
      //放行
      next()
    } else {
      //不在调到登录页
      next('/login')
    }
  }
})

// router.afterEach(() => {
//   // finish progress bar
//   NProgress.done()
// })
